package fr.insee.solr.model;

import java.util.ArrayList;
import java.util.List;

public class SolrResponse<U> {
	
	private int status;
	
	private int QTime;	
	
	private long numFound;
	
	private long start;
	
	private float maxScore;
	
	private List<U> documents = new ArrayList<>();
	
	private List<SolrFacet> facetsField = new ArrayList<>();
	
	private List<SolrFacet> facetsQuery = new ArrayList<>();
	
	private List<SolrFacet> facetsRange = new ArrayList<>();
	
	private List<SolrFacet> facetsDate = new ArrayList<>();
	
	
	public void addFacetField(SolrFacet sf){
		facetsField.add(sf);
	}
	
	public void addFacetQuery(SolrFacet sf){
		facetsQuery.add(sf);
	}
	
	public void addFacetDate(SolrFacet sf){
		facetsDate.add(sf);
	}
	
	public void addFacetRange(SolrFacet sf){
		facetsRange.add(sf);
	}

	public List<U> getDocuments() {
		return documents;
	}

	public void setDocuments(List<U> documents) {
		this.documents = documents;
	}

	public int getStatus() {
		return status;
	}

	public void setStatus(int status) {
		this.status = status;
	}

	public int getQTime() {
		return QTime;
	}

	public void setQTime(int qTime) {
		QTime = qTime;
	}

	public long getNumFound() {
		return numFound;
	}

	public void setNumFound(long numFound) {
		this.numFound = numFound;
	}

	public long getStart() {
		return start;
	}

	public void setStart(long start) {
		this.start = start;
	}

	public float getMaxScore() {
		return maxScore;
	}

	public void setMaxScore(float maxScore) {
		this.maxScore = maxScore;
	}

	public List<SolrFacet> getFacetsField() {
		return facetsField;
	}

	public void setFacetsField(List<SolrFacet> facetsField) {
		this.facetsField = facetsField;
	}

	public List<SolrFacet> getFacetsQuery() {
		return facetsQuery;
	}

	public void setFacetsQuery(List<SolrFacet> facetsQuery) {
		this.facetsQuery = facetsQuery;
	}

	public List<SolrFacet> getFacetsRange() {
		return facetsRange;
	}

	public void setFacetsRange(List<SolrFacet> facetsRange) {
		this.facetsRange = facetsRange;
	}

	public List<SolrFacet> getFacetsDate() {
		return facetsDate;
	}

	public void setFacetsDate(List<SolrFacet> facetsDate) {
		this.facetsDate = facetsDate;
	}


}
